home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 08 - 1992 / 08.03 Jul 92 / Fast Random Numbers / TestF77.f < prev    next >
Encoding:
Text File  |  1991-10-04  |  1.5 KB  |  50 lines  |  [TEXT/MPS ]

  1. C-----------------------------------------------------------
  2. C  This program demonstrates the use of a hand-coded 
  3. C  random-number generator in a Language Systems FORTRAN
  4. C  program.  It can be linked with any of the following
  5. C  object files:
  6. C
  7. C  SANERandomNumbers.p.o (SANE's built-in random number
  8. C  generator)
  9. C
  10. C  PasRandomNumbers.p.o (hand-coded in Pascal)
  11. C
  12. C  RandomNumbers.a.o (hand-coded in assembly language)
  13. C
  14. C                          Jon Bell
  15. C             Dept. of Physics & Computer Science
  16. C                    Presbyterian College
  17. C                      Clinton SC 29325
  18. C                   CompuServe: #70441,353
  19. C                         October 1991
  20. C-----------------------------------------------------------
  21. !!M Inlines.f
  22.       IMPLICIT NONE
  23.       INTEGER K, STOPTIME, RANDOMSEED
  24.       EXTENDED X, RANDOMREAL
  25.       EXTERNAL RANDOMREAL, RANDOMSEED
  26.       CALL INITRANDOMSEED (%VAL(1))
  27.       PRINT *
  28.       PRINT *, 'The first ten random numbers are:'
  29.       PRINT *
  30.       DO K = 1, 10
  31.          PRINT '(1X, F20.18)', RANDOMREAL()
  32.       END DO
  33.       DO K = 11, 10000
  34.          X = RANDOMREAL()
  35.       END DO
  36.       PRINT *
  37.       PRINT *, 'After 10000 iterations,'
  38.       PRINT *, 'the random seed is ', RANDOMSEED(), '.'
  39.       PRINT *
  40.       K = 0
  41.       STOPTIME = TICKCOUNT() + 3600
  42.       DO WHILE (TICKCOUNT .LE. STOPTIME)
  43.          X = RANDOMREAL()
  44.          K = K + 1
  45.       END DO
  46.       PRINT *, 'In one second, ', K/60, 
  47.      &         ' random numbers were generated.'
  48.       PRINT *
  49.       END
  50.